Database performance can be enhanced by distributing information, such as source tables, among multiple hosts. For example, a number of hosts may store different tables in the database system, or tables can be partitioned among multiple hosts. The ability to distribute a database system among multiple hosts can provide opportunities to increase system performance, such as by distributing workloads among CPUs located at the different hosts, rather than relying on the capabilities of a single host. However, distributed systems can be more complex to recover after a crash or other disruption.
Typical database recovery schemes involve significant coordination between a master database system node and one or more slave nodes. In some cases, such as when backup files are maintained on a serial-access storage medium (e.g., a magnetic tape), the potential for deadlocks can exist. Recovery strategies to avoid deadlocks can involve complex algorithms and accompanying code, as well as requiring significant system resources and longer system recovery times. Thus, room for improvement remains in database system recovery.